Various external storage media for personal computers and multifunctional terminals are widely known. Such external storage media include MultiMedia Card (registered trademark) standardized by the MMCA (MultiMedia Card Association) and SD (Secure Digital) Card (registered trademark) standardized by the SDA (SD card Association). The MMCA and the SDA are standard-setting organizations. These external storage media are used for recording still-frame video images in digital video cameras, recording data in cellular phones, recording music in portable music players, and the like.
The present inventors found that the above memory cards have the following problems:
To further enhance the convenience of these external storage media, a memory card that operates in accordance with both the MultiMedia Card standard and the SD Card standard is desired.
FIG. 11 is an explanatory drawing illustrates differences between the MultiMedia Card standard and the SD Card standard. As shown in the figure, these cards are different in specifications for setting initialization command, CSD value, command support, OCR (Operation Condition Register) value, and other registers.
The present inventors examined a memory card that operates in both modes, MultiMedia Card mode in which it operates in accordance with the MultiMedia Card standard and SD mode in which it operates in accordance with the SD Card standard. FIG. 12 is an internal block diagram of the memory card.
In this case, as illustrated in the figure, the memory card 50 is comprised of a flash memory 51 and a controller 52. The controller 52 comprises an internal interface logic 53, a host interface 54, data buffers 55, and a microcomputer 56.
Data for SD-CSD (Card Specific Data), SCR (Secure Register), MMC-CSD, EX(EXtend)-CSD, and the like are stored in the system area of the flash memory 51.
The internal interface logic 53 comprises interfaces for the flash memory 51, data buffers 55, and microcomputer 56.
The host interface 54 accepts commands instructing the operation of writing/reading/erasing, outputted and inputted from a host. The interface logic inputs and outputs data required for these operations.
The data buffers 55 temporarily store data inputted and outputted from a host and the flash memory 51. In addition, they store either SD-CSD and SCR or MMC-CSD and EX(EXtend)-CSD read from the flash memory 51 by the controller 52. The microcomputer 56 is responsible for control of all the aspects of the controller 52.
The host interface 54 comprises an initial command detection portion 57, an MMC command decode 58, an SD command decode 59, an MMC-OCR 60, an SD-OCR 61, an SD/MMC register 62, and switch portions 63 and 64.
The initial command detection portion 57 detects which an inputted initial command is, a command under the SD standard or a command under the MMC standard. The SD/MMC register 62 stores detection signals detected by the initial command detection portion 57.
The microcomputer 56 refers to the result of detection stored in the SD/MMC register 62 to determine whether to operate in MultiMedia Card mode or SD mode.
The switch portions 63 and 64 change the destination of signal output based on the result of detection stored in the SD/MMC register 62. The MMC command decode 58 decodes commands under the MMC standard when the memory card 50 operates in MultiMedia Card mode. The SD command decode 59 decodes commands under the SD standard when the memory card 50 operates in SD mode.
The MMC-OCR 60 defines a voltage range within which operation in MultiMedia Card mode is possible, and the SD-OCR 61 defines a voltage range within which operation in SD mode is possible.
The switch portion 63 operates as follows depending on the result of detection stored in the SD/MMC register 62: if the result of detection is MultiMedia Card mode, the switch portion changes connection so that an inputted command is inputted to the MMC command decode 58; if the result of detection is SD mode, the switch portion changes connection so that an inputted command is inputted to the SD command decode 59.
The switch portion 64 operates as follows depending on the result of detection stored in the SD/MMC registers 62: if the result of detection is MultiMedia Card mode, the switch portion changes connection so that data in the MMC-OCR 60 is outputted; if the result of detection is SD mode, the switch portion changes connection so that data in the SD-OCR 61 is outputted.
Description will be given to the operation of power-on reset processing in the memory card 50 examined by the present inventors with reference to the timing chart in FIG. 13 and the flowchart in FIG. 14. Here, it will be assumed that ‘CMD55+CMD41’ for SD mode is inputted as an initial command to the memory card 50.
FIG. 13 illustrates the signal timing with respect to commands outputted from a host, the SD/MMC register 62, the firmware process of the microcomputer 56, the initial command detection portion 57, the MMC-OCR 60/the SD-OCR 61, and the MMC command decode 58/the SD command decode 59 from top down.
In FIG. 14, the flowchart encircled with a broken line, shown on the left, illustrates the initialization process for hardware, and the flowchart encircled with a broken line, shown on the right, illustrates the initialization process for firmware.
When a supply voltage VCC is supplied to the memory card 50, initialization command ‘CMD55+CMD41’ is outputted from the host. The initialization command is for checking the voltage range within which the memory card 50 can operate and checking whether the internal processing of the memory card 50 has been completed (Step S501).
The initial command detection portion 57 detects the initialization command, and outputs the result of detection to the SD/MMC register 62 to set it in the register (Step S502).
The switch portions 63 and 64 operate as follows: the switch portion 63 changes connection so that a command outputted from the host is inputted to the SD command decode 59, based on data set in the SD/MMC register 62; the switch portion 64 changes connection so that data in the SD-OCR 61 is outputted (Step S503). Thereafter, the memory card 50 enters command wait state.
In parallel with the process of Step S503, the microcomputer 56 accesses the flash memory 51 based on the result of detection set in the SD/MMC register 62. It reads SD-CSD stored in the system area (Step S504), and stores it in the data buffers 55. Subsequently, the microcomputer 56 reads SCR from the flash memory 51 (Step S505), and stores it in the data buffers 55.
Thereafter, the microcomputer 56 searches a flash table for managing an alternate area and the like (Step S506), releases busy state (Step S507), and enters command wait state.
If ‘CMD1,’ or the initialization command for MultiMedia Card mode, is inputted from the host, for example, after the initialization process for hardware, illustrated in the left part of FIG. 14 encircled with a broken line, during this power-on reset processing, a problem arises. When the hardware releases busy state, it starts initializing operation in MultiMedia Card mode again. However, the initialization process for firmware, illustrated in the right part of FIG. 14 encircled with a broken line, is not carried out, and the mode recognition of hardware becomes inconsistent with that of firmware.
An object of the present invention is to provide a memory card and an initialization setting method thereof wherein, even if an initialization command for a different operation mode is inputted during initialization in some operation mode, initializing operation failure can be prevented without fail.
The above and other objects and novel features of the present invention will be apparent from the description in this specification and the accompanying drawings.